package com.lam.mall.service;

import java.util.List;
import com.lam.mall.entity.UserAddr;
import com.lam.mall.param.UserAddrParam;

/**
 * 用户配送地址Service接口
 * 
 * @author admin
 * @date 2023-04-26
 */
public interface UserAddrService {

    /**
     * 查询用户配送地址
     * 
     * @param id 用户配送地址ID
     * @return 单个对象
     */
    public UserAddr selectById(String id);

    /**
     * 查询用户配送地址列表
     * 
     * @param param 
     * @return 列表集合
     */
    public List<UserAddr> selectList(UserAddrParam param);

    /**
     * 新增用户配送地址
     * 
     * @param userAddr 
     * @return 
     */
    public int insert(UserAddr userAddr);

    /**
     * 修改用户配送地址
     * 
     * @param userAddr 
     * @return 
     */
    public int update(UserAddr userAddr);

    /**
     * 删除用户配送地址信息
     * 
     * @param id ID
     * @return 
     */
    public int deleteById(String id);

	UserAddr getDefaultAddr(String userId);

	void updateDefaultAddr(String addrId, String userId);

	void removeUserAddrCache(String addrId, String userId);

	UserAddr getUserAddrCache(String addrId, String userId);
    

}
